package upm.etsit.gsi.lejos.mazesolver;

import lejos.nxt.UltrasonicSensor;

/**
 * Intercambiador de datos.
 * @author jrubia
 */
public class DataExchange {

    /**
     * Dirección en la que comprueba el robot, toma tres valores, 0, 1 y 2, y en cada caso un Behavior distinto toma el control
     * 0 - GoStraight
     * 1 - TurnLeft
     * 2 - TurnRight
     */
    private int direction = 0;

    private int DIS_SEG = 25;

    private boolean exploration = false;

    /**
     * Sensor de ultrasonidos para medir distancias
     */
    private UltrasonicSensor sonar;

    /**
     * Constructor con el sensor de ultrasonidos como único parámetro
     * @param sonar
     */
    public DataExchange(UltrasonicSensor sonar) {
        this.sonar = sonar;

    }

    /**
     * @return Valor de la medición de distancia con el sensor de ultrasonidos
     */
    public int getDistance() {
        return this.sonar.getDistance();
    }


    /**
     * @return La direccion que el robot se encuentra comprobando
     */
    public int getDirection() {
        return direction;
    }

    /**
     * @param La nueva dirección.
     */
    public void setDirection(int direction) {
        this.direction = direction;
    }

    /**
     * @return the exploracion
     */
    public boolean isExploracion() {
        return exploration;
    }

    /**
     * @param exploracion the exploracion to set
     */
    public void setExploration(boolean exploration) {
        this.exploration = exploration;
    }

    /**
     * @return the DIS_SEG
     */
    public int getDIS_SEG() {
        return DIS_SEG;
    }

    /**
     * @param DIS_SEG the DIS_SEG to set
     */
    public void setDIS_SEG(int DIS_SEG) {
        this.DIS_SEG = DIS_SEG;
    }
}
